﻿using System;

namespace LAPI.Business.Acciones
{
    /// <summary>
    /// Clase para realizar la acción: Obtener pistas para el servicio
    /// </summary>
    public class AccGetPista
    {
        /// <summary>
        /// Logger de la clase
        /// </summary>
        private LAPI.Core.Logging.ILogger logger;

        /// <summary>
        /// Constructor
        /// </summary>
        public AccGetPista()
        {
            logger = LAPI.Core.Logging.LoggerFactory.CreateLogger(type: typeof(AccGetPista));
        }

        /// <summary>
        /// El método realiza las siguientes funciones:
        /// <ul>
        /// <li>Obtiene pista/s a partir del centro deportivo, y el deporte.</li>  
        /// </ul>
        /// </summary>
        /// <param name="IdCentroDeportivo">Identificador del Centro Deportivo</param>
        /// <param name="IdDeporte">Identificador del Deporte</param>
        /// <returns>Boolean, con el valor del campo. </returns>
        /// <seealso cref="Pista"/>
        /// <seealso cref="GestorPistas"/>
        public System.Collections.Generic.List<LAPI.Data.Model.Pista> GetPistaDeporte(Int32 IdCentroDeportivo, Int32 IdDeporte)
        {
            logger.Debug("[getPistaDeporte] Comienzo");
            logger.Debug("[getPistaDeporte] Datos: IdCentroDeportivo(" + IdCentroDeportivo + ") IdDeporte (" + IdDeporte  + ")");

            System.Collections.Generic.List<Data.Model.Pista> result;
            try
            {
                Gestores.GestorPistas oGestor = new Gestores.GestorPistas();
                result = oGestor.ObtenerPorCentroYDeporte(IdCentroDeportivo: IdCentroDeportivo, IdDeporte: IdDeporte);
            }
            catch (Exception ex)
            {
                logger.Error(ex);

                result = new System.Collections.Generic.List<Data.Model.Pista>();
            }
            logger.Debug("[getPistaDeporte] Fin");
            
            return result;
        }
    }
}
